Norma para el desarrollo de microfrontends

Información general

Icono normas
Tipo de recurso
Normas
Etiquetas

Descripción

Código: NOR_MFE

Versión actual: v01r00

Norma para el desarrollo de microfrontends o microfrontales, fragmentos independientes de interfaz que se integran en una aplicación de mayor tamaño, como parte de una solución, de acuerdo a la arquitectura de referencia Microfrontend.

Incluye un anexo con información básica sobre los estándares a los que hacen referencia las directrices de esta norma.

Ámbito de aplicación de la norma

Esta norma es de aplicación tanto para nuevos desarrollos como mantenimientos que incluyan la creación de microfrontends.

Las directrices que contiene la norma son independientes de la pila tecnológica que se utilice. Los objetivos y características de la arquitectura no están vinculados a la tecnología de implementación. 

Por tanto, al implementar un microfrontend con una tecnología específica, hay que cumplir con:

  • Las normas y estándares referidos en esta página.
  • Otras normas particulares establecidas para dicha tecnología.

Puedes conocer en esta sección  cómo se marca la obligatoriedad de cumplimiento de las directrices que componen la norma.

 

Diseño

Principio de modularidad

La modularidad es un principio fundamental en la arquitectura de microfrontends, que garantiza que la aplicación esté dividida en componentes independientes y reutilizables. Esto facilita la escalabilidad, el mantenimiento y la colaboración entre equipos.

 

DIR_01 Modularidad

OBLIGATORIO Los microfrontales estarán estructurados de manera modular, con componentes independientes y bien delimitados, permitiendo que cada uno pueda escalar de forma autónoma sin impactar a otros microfrontales:

  • Estarán descompuestos en microfrontends funcionales independientes, cada uno responsable de una parte específica de la aplicación, como autenticación, módulos funcionales de gestión, administración, presentación telemática, etc. Esta independencia permite que los módulos sean desarrollados, desplegados y mantenidos por separado, asegurando que la aplicación pueda escalar y evolucionar sin generar dependencias críticas entre módulos.
  • Se diseñarán para que puedan ser desplegados y escalados individualmente según las necesidades de carga o uso. Esto mejora la capacidad de respuesta y la eficiencia del sistema en su conjunto, permitiendo que los microfrontales puedan crecer según los requisitos del tráfico o funcionalidad.
  • Es recomendable reutilizar componentes comunes siempre que sea posible, utilizando librerías compartidas o servicios centralizados. Esto ayuda a evitar la duplicación de código y mejora la cohesión entre los microfrontales, manteniendo la coherencia en el diseño de la aplicación.
  • Es recomendable permitir cierta flexibilidad tecnológica en la elección de herramientas y frameworks para cada microfrontend, siempre y cuando no se comprometa la interoperabilidad ni la modularidad del sistema y vayan alineadas con la arquitectura de referencia de microfrontends de la oficina de arquitectura. 
  • Es recomendable dividir las funcionalidades grandes en múltiples microfrontales más pequeños, asegurando que cada uno sea lo suficientemente pequeño para ser manejado de forma independiente, lo que favorece la escalabilidad y la mantenibilidad.
  • No se crearán microfrontales que tengan dependencias críticas con otros microfrontales que les impidan escalar de manera autónoma. Cualquier interacción entre microfrontales debe ser desacoplada y gestionada a través de eventos o APIs bien definidas.

 

Principio de Responsabilidad Única (SRP)

Cada microfrontend estará dedicado a cumplir con una sola función o responsabilidad. Además de reducir la complejidad y por ende, mejorar la mantenibilidad, también asegura que cada parte puede ser evolutiva de manera controlada sin impactar las otras. También limita los cambios y promueve la depuración y desarrollo.

 

DIR_02 Responsabilidad única

OBLIGATORIO Los microfrontales estarán estructurados de manera modular, con componentes independientes y bien delimitados, permitiendo que cada uno pueda escalar de forma autónoma sin impactar a otros:

  • Se enfocarán exclusivamente en una sola funcionalidad, asegurando que cualquier cambio o evolución solo afecte a esa área, lo que facilita el mantenimiento y reduce el riesgo de introducir errores al implementar nuevas características o correcciones.
  • Mantendrán el código cohesivo y fácil de entender, evitando la inclusión de funcionalidades no relacionadas. Esto también facilita la depuración y permite que los desarrolladores se enfoquen en áreas específicas de la aplicación.
  • Es recomendable realizar revisiones periódicas de las responsabilidades de cada microfrontend para evitar la acumulación de "deuda técnica", asegurando que cada microfrontend se limite a sus responsabilidades previstas.
  • Es recomendable documentar claramente la responsabilidad o propósito de cada microfrontend, para que los desarrolladores y otros equipos comprendan su rol dentro de la aplicación y cómo debe evolucionar. 

 

Consistencia de la Interfaz de Usuario

La consistencia en la interfaz de usuario es crucial para asegurar una experiencia de usuario coherente y predecible en todos los microfrontends. Esto incluye la utilización de un diseño visual uniforme, patrones de interacción comunes y la reutilización de componentes de UI.

 

DIR_03 Sistema de diseño

OBLIGATORIO Los microfrontends seguirán el sistema de diseño de la Junta de Andalucía publicado en el portal de desarrollo de servicios digitales para garantizar la consistencia de la interfaz de usuario en toda la aplicación: 

  • Utilizar el sistema de diseño compartido, que incluye guías de estilo, componentes visuales y patrones de interacción, asegurando una apariencia y comportamiento uniformes en toda la aplicación.
  • Respetar las guías de estilo definidas, como tipografía, colores, espaciado y otros elementos visuales, para mantener la uniformidad en la interfaz de usuario.
  • Los cambios en el sistema de diseño o en los componentes compartidos se han de propagar de manera coherente en todos los microfrontends, preservando la coherencia visual y funcional.
  • Es recomendable realizar auditorías periódicas de la interfaz de usuario para verificar que los microfrontends cumplan con las guías de estilo y para identificar desviaciones que necesiten ser corregidas.
  • Es recomendable documentar cualquier adaptación o personalización específica del sistema de diseño utilizada en el microfrontend, justificando y aprobando dichas variaciones a través de un proceso definido por la Oficina de Arquitectura o el equipo responsable.
 

DIR_04 Reutilización de componentes

OBLIGATORIO Los componentes de la interfaz de usuario deben ser reutilizables y compartidos entre los microfrontends para mantener la consistencia y la coherencia visual en toda la aplicación:

  • Utilizar componentes de UI provenientes de una librería común proporcionada y gobernada por la Oficina de Arquitectura (OdA) o el equipo asignado responsable. Esto asegura que los elementos visuales y patrones de interacción sean consistentes en los diferentes microfrontends, evitando duplicar esfuerzos y manteniendo una experiencia de usuario uniforme.
  • Diseñar los componentes de manera que permitan su fácil integración en cualquier microfrontend, con opciones de personalización limitadas para garantizar que la coherencia visual se mantenga en toda la aplicación.
  • Es recomendable que cualquier nuevo componente necesario para un microfrontend específico sea evaluado para su inclusión en la librería de componentes compartidos de la OdA. Los equipos de desarrollo pueden proponer nuevos componentes a la OdA, quienes revisarán su viabilidad y coherencia con el sistema.

 

DIR_05 Coherencia en la experiencia de uso

OBLIGATORIO La interfaz de usuario será coherente en todas las plataformas y dispositivos, asegurando una experiencia uniforme para todos los usuarios:

  • Aplicar el diseño responsivo establecido en el sistema de diseño para garantizar que los microfrontends se adapten correctamente a diferentes tamaños de pantalla y dispositivos, manteniendo la coherencia en la experiencia del usuario.
  • Seguir patrones de navegación y disposición consistentes en todos los microfrontends, independientemente del dispositivo o plataforma, para evitar confusión y mejorar la usabilidad.
  • Es recomendable realizar pruebas de usabilidad en múltiples dispositivos y navegadores para verificar que la experiencia del usuario sea satisfactoria y consistente en todos los contextos de uso.
  • Es recomendable documentar las adaptaciones específicas para diferentes plataformas en el sistema de diseño, asegurando que los desarrolladores comprendan cómo implementar interfaces coherentes en diversas condiciones.

 

Gestión de Estado

La gestión de estado en los microfrontends garantiza que los datos se manejen de manera consistente y eficiente en toda la aplicación. Una gestión adecuada del estado asegura la sincronización correcta entre la interfaz de usuario y los datos subyacentes, mejorando la experiencia del usuario y facilitando el mantenimiento del sistema.

 

DIR_06 Gestión eficiente del estado

OBLIGATORIO El estado local de cada microfrontend se gestionará de manera independiente, y solo podrá compartirse con otros microfrontends mediante mecanismos autorizados: 

  • Encapsular dentro de cada microfrontend su estado. La comunicación entre microfrontales para compartir o sincronizar estado debe realizarse a través de eventos desacoplados (Pub/Sub), o mediante APIs REST/GraphQL para evitar dependencias directas entre ellos.
  • Utilizar patrones de gestión de estado aprobados, como Redux, Vuex, o Context API, para asegurar que el manejo del estado sea predecible y fácil de mantener.
  • Es recomendable documentar claramente cómo se gestiona el estado en cada microfrontend, incluyendo diagramas de flujo de datos y descripciones de la lógica de estado, para facilitar la comprensión y el mantenimiento.
  • Es recomendable revisar periódicamente las estrategias de gestión de estado para asegurarse de que se mantengan eficientes y escalables a medida que la aplicación crece.

 

DIR_07 Sincronización del estado

OBLIGATORIO Sincronizar el estado entre microfrontend mediante mecanismos desacoplados, garantizando que los datos se actualicen correctamente sin dependencias fuertes entre los módulos: 

  • Implementar mecanismos de sincronización a través de eventos desacoplados como Pub/Sub o mensajería reactiva, donde los microfrontend pueden publicar y suscribirse a eventos sin requerir conocimiento directo de otros módulos.
  • Manejar posibles conflictos de sincronización utilizando resoluciones de conflictos claras, como la priorización de la última actualización válida o mediante versiones controladas del estado.
  • Es recomendable evitar la sincronización de estados innecesarios o triviales entre microfrontend, limitándose únicamente a los datos que sean indispensables para la interacción entre ellos.

 

DIR_08 Manejo del estado

OBLIGATORIO La persistencia del estado se manejará para garantizar una experiencia de usuario fluida y la integridad de los datos: 

  • Diseñar mecanismos de persistencia del estado que permitan la recuperación del mismo después de recargas de página o cambios de contexto, utilizando almacenamiento local, IndexedDB, o mecanismos similares, según sea necesario.
  • Asegurar que la persistencia del estado no comprometa la seguridad o la privacidad del usuario, implementando medidas adecuadas de cifrado y gestión segura de datos.
  • Implementar un mecanismo de limpieza o expiración de datos persistidos para evitar la acumulación de datos obsoletos que puedan afectar el rendimiento de la aplicación.

 

DIR_09 Manejo del estado global

OBLIGATORIO La gestión del estado global, cuando sea necesaria, estará claramente definida y controlada: 

  • Utilizar soluciones centralizadas de gestión de estado global  solo cuando sea necesario para sincronizar datos críticos entre microfrontends, y debe estar claramente documentado y mantenido
  • Implementar estrategias claras para el manejo de cambios en el estado global, asegurando que todos los microfrontends que dependen de dicho estado reaccionen adecuadamente a las actualizaciones.
  • Es recomendable limitar el uso del estado global a los casos en los que sea estrictamente necesario, favoreciendo la gestión de estado local siempre que sea posible para mantener la modularidad y simplicidad del sistema.
  • Es recomendable auditar periódicamente el estado global para asegurarse de que sigue siendo necesario y que no se ha vuelto un cuello de botella o un punto único de fallo.

 

Optimización de Rendimiento

La optimización del rendimiento es esencial para garantizar que los microfrontends ofrezcan una experiencia de usuario rápida y fluida, minimizando los tiempos de carga y mejorando la eficiencia de las interacciones

 

DIR_10 Tiempo de carga y uso de recursos

OBLIGATORIO Minimizar el tiempo de carga y mejorar la eficiencia de los recursos:

  • Utilizar técnicas de minimización y compresión de archivos (CSS, JavaScript, imágenes) para reducir el tamaño de los recursos enviados al cliente.
  • Implementar la carga diferida (lazy loading) para imágenes, scripts y otros recursos no críticos, asegurando que solo se carguen cuando sean necesarios. Esto reduce la sobrecarga inicial y mejora la percepción de rendimiento.
  • Es recomendable emplear particionamiento de código (code splitting) para dividir el JavaScript en fragmentos más pequeños, cargando únicamente lo necesario para la vista actual. Esto mejora la velocidad de carga inicial y optimiza la interactividad.
  • Es recomendable optimizar las consultas a la API para reducir la cantidad de datos transferidos y minimizar el tiempo de respuesta, utilizando técnicas como paginación, filtrado y compresión de respuestas.

 

DIR_11 Rendimiento lado cliente

OBLIGATORIO Implementar estrategias de optimización del rendimiento del lado del cliente para garantizar una experiencia de usuario ágil y eficiente, minimizando los tiempos de carga y mejorando la interacción en la aplicación:

  • Implementar almacenamiento en caché de recursos estáticos en el navegador del usuario, estableciendo políticas de caché adecuadas (como control de cache con headers Cache-Control y ETag) para maximizar la reutilización de recursos entre visitas. Esto minimiza la necesidad de recargar recursos inalterados y mejora la velocidad de navegación.
  • Utilizar técnicas de prerenderizado o renderizado en el servidor (Server-Side Rendering, SSR) cuando sea necesario, especialmente en aplicaciones con mucho contenido dinámico o que requieren un rendimiento óptimo en el tiempo de carga inicial.
  • Es recomendable integrar un Content Delivery Network (CDN) para distribuir recursos estáticos (CSS, JavaScript, imágenes) de manera eficiente y reducir la latencia de carga para usuarios en diferentes ubicaciones geográficas.
  • Es recomendable monitorear continuamente el rendimiento en el cliente utilizando herramientas de análisis de rendimiento para identificar y corregir cuellos de botella en el rendimiento.

 

DIR_12 Rendimiento de las interacciones con el servidor

OBLIGATORIO Optimizar el rendimiento en las interacciones con el servidor del microfrontend para mantener la eficiencia y la escalabilidad:

  • Implementar prácticas de optimización en las llamadas a la API, incluyendo la compresión de datos, la reducción de la carga útil y la utilización de respuestas en caché cuando sea posible. Esto reduce la latencia y mejora el rendimiento general de la aplicación.
  • Utilizar técnicas de priorización y paralelización de solicitudes para optimizar el tiempo de respuesta en escenarios de alta demanda. Esto asegura que las operaciones críticas se completen lo más rápido posible sin bloquear otras tareas.
  • Es recomendable implementar mecanismos de reintento y manejo de errores robustos para gestionar las fallas en la comunicación con el servidor, minimizando el impacto en la experiencia del usuario.

 

DIR_13 Mejora continua del rendimiento

OBLIGATORIO Optimizar y monitorizar su rendimiento de manera continua para garantizar eficiencia, escalabilidad y una experiencia de usuario fluida:

  • Integrar el sistema de observabilidad centralizado de la Junta de Andalucía mediante el protocolo OpenTelemetry, asegurando una monitorización constante del rendimiento y alertas en caso de degradación.
  • Es recomendable realizar pruebas de carga regulares para evaluar el comportamiento de los microfrontends bajo condiciones de alta demanda y garantizar su capacidad de escalar.
  • Es recomendable incluir el rendimiento como un criterio clave en revisiones de código y pruebas automatizadas para prevenir posibles degradaciones en nuevas implementaciones.
 

Accesibilidad

La accesibilidad es un aspecto fundamental del diseño y desarrollo de microfrontends, garantizando que todos los usuarios, incluidas las personas con discapacidades, puedan interactuar eficazmente con la aplicación. Cumplir con las normas de accesibilidad no solo es una responsabilidad social, sino que también mejora la usabilidad general y la satisfacción del usuario.

 

DIR_14 Accesibilidad

OBLIGATORIO Cumplir con las Directrices de Accesibilidad para el Contenido Web (WCAG) y con las políticas establecidas en el documento de Normativa de Accesibilidad de la Junta:

  • Asegurar que todas las funcionalidades y contenidos sean accesibles para todos los usuarios, incluidas las personas con discapacidades, siguiendo los lineamientos definidos en el documento de normas de accesibilidad.

 

Construcción

Selección de Tecnología

La selección de tecnologías adecuadas es fundamental para garantizar que los microfrontends sean eficientes, escalables y mantenibles. Las decisiones tecnológicas deben alinearse con los objetivos del proyecto, las capacidades del equipo y las directrices establecidas por la oficina de arquitectura y el documento de arquitectura de referencia para microfrontends

 

DIR_15 Tecnología

OBLIGATORIO La selección de tecnología debe alinearse con el stack tecnológico definido y aprobado por la Oficina de Arquitectura (OdA) en el documento de arquitectura de referencia de microfrontends:

  • Utilizar únicamente tecnologías especificadas en el stack tecnológico aprobado por la OdA, asegurando que cada elección permita una integración fluida y coherente entre los diferentes módulos de la arquitectura de microfrontends.
  • Emplear versiones de las tecnologías que estén respaldadas y actualizadas conforme a las directrices de la OdA, garantizando que cada módulo cumpla con los requisitos de estabilidad y seguridad en entornos de desarrollo y producción.
  • Es recomendable que los equipos de desarrollo verifiquen periódicamente que están utilizando la última versión autorizada de cada tecnología en el stack, asegurando que los microfrontends mantengan compatibilidad y rendimiento óptimos.
  • Es recomendable mantener coherencia tecnológica entre los microfrontends utilizando el conjunto limitado de tecnologías aprobadas, facilitando así la integración, el mantenimiento y la colaboración entre equipos. 

 

Calidad del código

Mantener la calidad del código es esencial para asegurar la mantenibilidad, escalabilidad y seguridad del software. Las normas de calidad del código ayudan a reducir errores, mejorar la legibilidad y facilitar la colaboración entre los desarrolladores.

 

DIR_16 Estándares de calidad

OBLIGATORIO El código de los microfrontends cumplirá los estándares de calidad definidos por la Oficina de Calidad de la ADA para garantizar su mantenibilidad y seguridad:

  • Seguir un conjunto de estándares de codificación bien definidos y aprobados por la organización, incluyendo el uso de linters, formateadores y otras herramientas para mantener la consistencia en el estilo y la estructura del código.
  • Es recomendable realizarse revisiones de código regulares por parte de otros desarrolladores o pares del equipo para identificar problemas, compartir conocimiento y mejorar la calidad general del código.
  • Es recomendable documentar el código de manera clara y concisa, incluyendo comentarios que expliquen la lógica y el propósito de secciones complejas, facilitando la comprensión y el mantenimiento del código a largo plazo.
  • Es recomendable adoptar prácticas de desarrollo orientadas a pruebas, como Test-Driven Development (TDD), para mejorar la calidad del código desde el inicio del desarrollo.

 

DIR_17 Análisis de la calidad

OBLIGATORIO El código será analizado continuamente para asegurar su calidad y seguridad: 

  • Utilizar herramientas de análisis estático de código que identifiquen vulnerabilidades, malas prácticas y posibles errores antes de que el código sea desplegado. Esto asegura que el código cumpla con los estándares de calidad y seguridad establecidos.
  • Integrar pruebas automatizadas que cubran un alto porcentaje del código, incluyendo pruebas unitarias, de integración y de regresión, asegurando que el código sea robusto y libre de errores conocidos.
  • Es recomendable realizar revisiones de calidad del código antes de cada despliegue importante, asegurando que no se introduzcan nuevas vulnerabilidades o errores en producción.

 

Políticas para la gestión de errores

La gestión adecuada de errores mantiene la estabilidad y la confiabilidad de los microfrontends. Las políticas de gestión de errores aseguran que los problemas se detecten, manejen y comuniquen de manera efectiva, minimizando el impacto en la experiencia del usuario y facilitando la resolución rápida de problemas.

 

DIR_18 Manejo de errores

OBLIGATORIO Implementar un manejo de errores consistente y predecible para mantener la estabilidad del sistema y la calidad de la experiencia del usuario:

  • Capturar y manejar los errores de manera consistente, utilizando bloques try-catch y mecanismos centralizados de manejo de errores tanto para errores síncronos como asíncronos.
  • Registrar todos los errores críticos en un sistema centralizado de logs, facilitando el monitoreo y el análisis en tiempo real. Los logs deben contener el stack trace, el contexto del error y cualquier información adicional significativa para diagnosticar el problema.
  • Es recomendable configurar un sistema de alertas que notifique al equipo de desarrollo de forma automática sobre los errores críticos del entorno de producción, posibilitando una pronta reacción.
  • Es recomendable aplicar una estrategia de manejo de errores que posibilite la recuperación automática siempre que sea posible, de esta manera se minimiza el impacto en la experiencia del usuario.

 

DIR_19 Mensajes de error

OBLIGATORIO Los microfrontends proporcionarán mensajes de error claros y útiles tanto para los desarrolladores como para los usuarios finales, garantizando una experiencia coherente y efectiva en caso de fallos:

  • Proporcionar mensajes de error comprensibles y detallados para los desarrolladores en los logs, incluyendo información suficiente para diagnosticar y resolver el problema rápidamente.
  • Mostrar mensajes de error amigables al usuario final que no expongan detalles técnicos innecesarios, pero que informen claramente sobre lo que salió mal y, si es posible, cómo proceder. Esto mejora la experiencia del usuario y reduce la frustración en caso de fallos.
  • Es recomendable proporcionar mecanismos de feedback al usuario final en caso de error, como botones para reintentar o enlaces a páginas de ayuda, facilitando la recuperación de la situación.
  • Es recomendable documentar los códigos de error utilizados en el sistema para que el equipo de soporte pueda proporcionar asistencia efectiva y rápida cuando sea necesario.

 

DIR_20 Errores de red

OBLIGATORIO Los microfrontends implementarán una gestión robusta de errores de red para garantizar la resiliencia en entornos con conectividad inestable, preservando la experiencia del usuario y la estabilidad del sistema:

  • Manejar adecuadamente las desconexiones y reconexiones, mostrando mensajes claros y apropiados al usuario, e intentando recuperar la operación automáticamente cuando la conectividad se restablezca.
  • Utilizar un servicio centralizado para la gestión de errores de red, que pueda monitorizar y reportar patrones de fallos, ayudando a identificar problemas sistémicos o intermitentes en la infraestructura.
  • Es recomendable probar los microfrontends en entornos simulados de conectividad limitada para asegurar que se comporten de manera predecible y segura bajo condiciones adversas.

 

DIR_21 Resiliencia

OBLIGATORIO Los microfrontends contarán con mecanismos robustos para la gestión de errores persistentes y la recuperación ante fallos, asegurando la resiliencia del sistema y minimizando el impacto en la experiencia del usuario:

  • Implementar un sistema de recuperación ante fallos que permita restaurar el estado previo de la aplicación tras un error crítico, siempre que sea posible. Esto incluye la capacidad de guardar el estado temporal y restaurarlo después de que el problema haya sido resuelto.
  • Se diseñará para capturar y reportar errores persistentes que no puedan ser resueltos inmediatamente, facilitando su análisis y corrección en futuras iteraciones del desarrollo.
  • Es recomendable que los microfrontends incluyan capacidades de auto-diagnóstico, donde se puedan identificar y aislar módulos o componentes problemáticos, minimizando el impacto en el resto del sistema.
  • Es recomendable planificar y probar escenarios de recuperación ante fallos durante el ciclo de desarrollo, asegurando que las estrategias de mitigación y recuperación funcionen como se espera.

 

Pruebas

DIR_22 Pruebas unitarias

OBLIGATORIO Cada microfrontend contará con pruebas unitarias exhaustivas que cubran las funcionalidades críticas, asegurando que cada unidad de código funcione correctamente de manera aislada. Se utilizarán frameworks de pruebas unitarias compatibles con la mayoría de los stacks tecnológicos utilizados en microfrontends.

 

DIR_23 Pruebas de integración

OBLIGATORIO Los microfrontends implementarán pruebas de integración para garantizar que los módulos interactúen correctamente entre sí y con otros sistemas, verificando que la integración no introduzca errores o problemas de compatibilidad. Se recomienda utilizar frameworks como Jest, Mocha o Chai, con soporte para pruebas de integración, que permiten probar la interacción entre módulos de manera eficiente.

 

DIR_24 Pruebas end-to-end

OBLIGATORIO Los microfrontends se someterán a pruebas End-to-End (E2E) que simulen el flujo completo de usuario desde la interfaz hasta el backend, asegurando que el sistema funcione como se espera en un entorno de producción real. Se recomienda utilizar framework de pruebas E2E funcionales que permite automatizarse en entornos de microfrontales.

Se garantizará una cobertura adecuada de las pruebas E2E, abarcando todos los escenarios críticos, incluyendo flujos comunes y casos extremos, para validar la robustez del sistema.

 

DIR_25 Automatización de pruebas

OBLIGATORIO Las pruebas unitarias, de integración y end-to-end se automatizarán en los procesos de Integración Continua (CI) para garantizar la detección temprana de errores y fallos en el desarrollo:

  • Automatización de Pruebas Unitarias y de Integración: se dispondrán pruebas unitarias y de integración automatizadas que se ejecuten como parte del pipeline de CI/CD, permitiendo la detección temprana de errores y garantizando la calidad continua del código.
  • Automatización de Pruebas End-to-End: Las pruebas End-to-End se automatizarán en la medida de lo posible, integrándose en el pipeline de CI/CD para validar automáticamente la funcionalidad completa del sistema en cada despliegue.
  • Mantenimiento de Scripts de Pruebas Automatizadas: Los scripts de pruebas automatizadas se mantendrán y actualizarán regularmente para reflejar cambios en la funcionalidad de la SPA, asegurando que las pruebas sigan siendo relevantes y efectivas.

 

Normas relacionadas

La construcción de un microservicio implica el cumplimiento de esta norma y las normas transversales que se apliquen:

 

Estándares

El siguiente listado muestra los estándares que se aplican a la arquitectura de microservicios. Puede consultarse la descripción de cada estándar en la siguiente página

 

Definición de servicios y eventos

  • Open API
  • Web Components Standard
  • Custom Events
  • Web Messaging

Comunicaciones

  • API RESTful
  • GraphQL
  • gRPC
  • WebSockets
  • Server-Sent Events (SSE)

Seguridad

  • Content Security Policy (CSP)
  • SOWEB(SAML 2.0)
  • HTTPS/SSL
  • OAuth2

Diseño y accesibilidad

  • Web Content Accessibility Guidelines (WCAG)
  • Diseño responsivo

Versiones

Fecha Nombre de la versión
NOR_MFE v01r00